package com.mitac.mcd.mobiletracking.managementclient.bean;

public class Configuration {

	/**
	 * socket server port
	 */
	private int port;
	
	/**
	 * socket server enable max client connections
	 */
	private int maxClientConnections;
	
	/**
	 * client gps upload data buffer length
	 */
	private int clientBufferCount;
	
	/**
	 * authentication command timeout
	 */
	private int autCommandTimeout;
	
	/**
	 * 是否允许对interval内上传data笔数做check
	 */
	private boolean enableCheckGpsuploadExpPacket;
	
	/**
	 * 在interval内上传最啊资料笔数
	 */
	private int tcpSocketGpsuploadExpPacket;
	
	/**
	 * Health Check策略个数
	 */
	private int tcpSocketGpsuploadHealthPolicyCount;
	
	/**
	 * send notification available server IP
	 */
	private String[] blockNotificationCommandSendingServer = null;
	
	/**
	 * 多久沒接收到Client 端對Notification 指令的回應 JSON 資料就重发指令，单位s
	 */
	private int notificationToClientDelayTime;
	
	/**
	 * 多久沒接收到Client 端對Notification 指令的回應 JSON 資料就重发次数
	 */
	private int notificationToClientResendTime;
	
	/**
	 * memcache server url
	 */
	private String[] memcacheServer = null;
	
	/**
	 * memcache添加lock expiration，单位ms
	 */
	private int memcacheLockKeyWaitTime;
	
	/**
	 * 访问memcache retry次数
	 */
	private int memcacheLockKeyLockCount;
	
	/**
	 * 获取aut db的相关信息
	 */
	private String[] getAutDB = null;
	
	/**
	 * 获取gps data db的相关信息
	 */
	private String[] getGPSDataDB = null;

	public int getPort() {
		return port;
	}

	public void setPort(int port) {
		this.port = port;
	}

	public int getMaxClientConnections() {
		return maxClientConnections;
	}

	public void setMaxClientConnections(int maxClientConnections) {
		this.maxClientConnections = maxClientConnections;
	}

	public int getClientBufferCount() {
		return clientBufferCount;
	}

	public void setClientBufferCount(int clientBufferCount) {
		this.clientBufferCount = clientBufferCount;
	}

	public int getAutCommandTimeout() {
		return autCommandTimeout;
	}

	public void setAutCommandTimeout(int autCommandTimeout) {
		this.autCommandTimeout = autCommandTimeout;
	}

	public boolean isEnableCheckGpsuploadExpPacket() {
		return enableCheckGpsuploadExpPacket;
	}

	public void setEnableCheckGpsuploadExpPacket(
			boolean enableCheckGpsuploadExpPacket) {
		this.enableCheckGpsuploadExpPacket = enableCheckGpsuploadExpPacket;
	}

	public int getTcpSocketGpsuploadExpPacket() {
		return tcpSocketGpsuploadExpPacket;
	}

	public void setTcpSocketGpsuploadExpPacket(int tcpSocketGpsuploadExpPacket) {
		this.tcpSocketGpsuploadExpPacket = tcpSocketGpsuploadExpPacket;
	}

	public int getTcpSocketGpsuploadHealthPolicyCount() {
		return tcpSocketGpsuploadHealthPolicyCount;
	}

	public void setTcpSocketGpsuploadHealthPolicyCount(
			int tcpSocketGpsuploadHealthPolicyCount) {
		this.tcpSocketGpsuploadHealthPolicyCount = tcpSocketGpsuploadHealthPolicyCount;
	}

	public String[] getBlockNotificationCommandSendingServer() {
		return blockNotificationCommandSendingServer;
	}

	public void setBlockNotificationCommandSendingServer(
			String[] blockNotificationCommandSendingServer) {
		this.blockNotificationCommandSendingServer = blockNotificationCommandSendingServer;
	}

	public int getNotificationToClientDelayTime() {
		return notificationToClientDelayTime;
	}

	public void setNotificationToClientDelayTime(int notificationToClientDelayTime) {
		this.notificationToClientDelayTime = notificationToClientDelayTime;
	}

	public int getNotificationToClientResendTime() {
		return notificationToClientResendTime;
	}

	public void setNotificationToClientResendTime(int notificationToClientResendTime) {
		this.notificationToClientResendTime = notificationToClientResendTime;
	}

	public String[] getMemcacheServer() {
		return memcacheServer;
	}

	public void setMemcacheServer(String[] memcacheServer) {
		this.memcacheServer = memcacheServer;
	}

	public int getMemcacheLockKeyWaitTime() {
		return memcacheLockKeyWaitTime;
	}

	public void setMemcacheLockKeyWaitTime(int memcacheLockKeyWaitTime) {
		this.memcacheLockKeyWaitTime = memcacheLockKeyWaitTime;
	}

	public int getMemcacheLockKeyLockCount() {
		return memcacheLockKeyLockCount;
	}

	public void setMemcacheLockKeyLockCount(int memcacheLockKeyLockCount) {
		this.memcacheLockKeyLockCount = memcacheLockKeyLockCount;
	}

	public String[] getGetAutDB() {
		return getAutDB;
	}

	public void setGetAutDB(String[] getAutDB) {
		this.getAutDB = getAutDB;
	}

	public String[] getGetGPSDataDB() {
		return getGPSDataDB;
	}

	public void setGetGPSDataDB(String[] getGPSDataDB) {
		this.getGPSDataDB = getGPSDataDB;
	}
	
	
}
